#ifndef PROGRAM_DATASTRUCT_OPENHASH_H_
#define PROGRAM_DATASTRUCT_OPENHASH_H_

namespace hashtable{
class ValuePair
{
public:
    int m_key;
    int m_data;
    bool m_use;
};

class OpenHashTable
{
public:
    OpenHashTable(int s);
public:
    void OhtblInsert(int k, int d);
    void OhtblDel(int k);
    bool OhtblLookup(int k, int& d);
    int GetHashSize();
private:
    int HashKey(int k, int i);
    int HashKeyHelper1(int k);
    int HashKeyHelper2(int k);
public:
    ValuePair* m_data;
    int m_cap;
    int m_size;
};
}
#endif // PROGRAM_DATASTRUCT_OPENHASH_H_
